0520. 检测大写字母【简单】
1. 📝 题目描述
我们定义,在以下情况时,单词的大写用法是正确的:
- 全部字母都是大写,比如
"USA"。 - 单词中所有字母都不是大写,比如
"leetcode"。 - 如果单词不只含有一个字母,只有首字母大写, 比如
"Google"。
给你一个字符串 word。如果大写用法正确,返回 true ;否则,返回 false。
示例 1:
txt
输入:word = "USA"
输出:true1
2
2
示例 2:
txt
输入:word = "FlaG"
输出:false1
2
2
提示:
1 <= word.length <= 100word由小写和大写英文字母组成
2. 🎯 s.1 - 统计大写字母判断
js
/**
* @param {string} word
* @return {boolean}
*/
var detectCapitalUse = function (word) {
let upperCount = 0
for (let char of word) {
if (char >= 'A' && char <= 'Z') {
upperCount++
}
}
// 三种合法情况:
return (
// 1. 全部大写
upperCount === word.length ||
// 2. 全部小写
upperCount === 0 ||
// 3. 只有首字母大写
(upperCount === 1 && word[0] >= 'A' && word[0] <= 'Z')
)
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- 时间复杂度:
,遍历一次字符串 - 空间复杂度:
,只使用常数空间
算法思路:
- 统计字符串中大写字母的个数
- 合法的三种情况:
- 全部大写:大写字母个数等于字符串长度
- 全部小写:大写字母个数为 0
- 首字母大写:大写字母个数为 1 且第一个字母是大写
- 其他情况都不合法